We define a solid cylinder as a 3 dimensional shape with the following properties:
$$E : \text {unit vector for axis.}$$
$$O :\text{Point on axis, middle.}$$ $$R :\text{outer radius}$$ $$r :\text{inner radius}$$ $$H :\text{half height}$$
Given two solid cylinders, what are (if exist) some necessary and sufficient conditions to determine if they intersect?
I've found these paper but they only cover cylinders, which are a special case of a solid cylinder with $r=0$ :
https://www.geometrictools.com/Documentation/IntersectionOfCylinders.pdf https://scicomp.stackexchange.com/questions/20610/how-to-determine-whether-two-cylinders-intersect-or-not http://www.sksaha.com/sites/default/files/upload_data/documents/IROS_2013.pdf
If I understood correctly, your definition of a "solid cylinder", which I'll denote $S$, could be done in terms of the set subtraction between two cylinders denoted $C$: $$ S(E,O,H,R,r) = C(E,O,H,R) \setminus C(E,O,H,r) $$ Let $S^i = C^i_R \setminus C^i_r$ be two solid cylinders ($i\in\{0,1\})$. Then your question is whether $S^0 \cap S^1 = \emptyset$, which you can resolve with $C$ and the results from the papers you cite.
For this, you can use the results listed in Wikipedia on the complement of sets: $$ {\displaystyle (B\setminus A)\cap C=(B\cap C)\setminus A=B\cap (C\setminus A)}. $$