CMS 3D CMS Logo

OptOModifiedRhomboidPrism.h
Go to the documentation of this file.
1 // COCOA class header file
2 //Id: OptOModifiedRhomboidPrism.h
3 //CAT: Model
4 //
5 // Base class to describe Optical Objects of type sensor 2D
6 //
7 // History: v1.0
8 // Pedro Arce
9 
10 #ifndef _OPTOMODIFIEDRHOMBOIDPRISM_HH
11 #define _OPTOMODIFIEDRHOMBOIDPRISM_HH
12 
15 class Measurement;
16 class LightRay;
17 
19 {
20 
21 public:
22  //---------- Constructors / Destructor
25  OpticalObject( parent, type, name, copy_data){ };
27 
28  //---------- Fast simulation of deviation of the light ray (reflection, shift, ...)
29  virtual void fastDeviatesLightRay( LightRay& lightray );
30  //---------- Detailed simulation of the light ray traversing
31  virtual void fastTraversesLightRay( LightRay& lightray );
32  //---------- Detailed simulation of deviation of the light ray (reflection, shift, ...)
33  virtual void detailedDeviatesLightRay( LightRay& lightray );
34  //---------- Fast simulation of the light ray traversing
35  virtual void detailedTraversesLightRay( LightRay& lightray );
36 
37  //--------- Get the up and down plates rotated by an angle 'angle_planes'
38  ALIPlane getRotatedPlate(const ALIbool forwardPlate);
39 
40 
41 #ifdef COCOA_VIS
42  virtual void fillIguana();
43 #endif
44  void constructSolidShape();
45 
46 };
47 
48 #endif
virtual void fastTraversesLightRay(LightRay &lightray)
type
Definition: HCALResponse.h:21
OptOModifiedRhomboidPrism(OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data)
virtual void fastDeviatesLightRay(LightRay &lightray)
bool ALIbool
Definition: CocoaGlobals.h:19
const OpticalObject * parent() const
Definition: OpticalObject.h:62
virtual void detailedDeviatesLightRay(LightRay &lightray)
ALIPlane getRotatedPlate(const ALIbool forwardPlate)
virtual void detailedTraversesLightRay(LightRay &lightray)
virtual void fillIguana()
Definition: OpticalObject.h:56
std::string ALIstring
Definition: CocoaGlobals.h:9
const ALIstring & name() const
Definition: OpticalObject.h:60