CMS 3D CMS Logo

OptOOpticalSquare.h
Go to the documentation of this file.
1 // COCOA class header file
2 //Id: OptOOpticalSquare.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 _OPTOPSEUDOPENTAPRISM_HH
11 #define _OPTOPSEUDOPENTAPRISM_HH
12 
15 class Measurement;
16 class LightRay;
17 
19 public:
20  //---------- Constructors / Destructor
23  : OpticalObject(parent, type, name, copy_data){};
24  ~OptOOpticalSquare() override{};
25 
26  //---------- Fast simulation of deviation of the light ray (reflection, shift, ...)
27  void fastDeviatesLightRay(LightRay& lightray) override;
28  //---------- Detailed simulation of the light ray traversing
29  void fastTraversesLightRay(LightRay& lightray) override;
30  //---------- Detailed simulation of deviation of the light ray (reflection, shift, ...)
31  void detailedDeviatesLightRay(LightRay& lightray) override;
32  //---------- Fast simulation of the light ray traversing
33  void detailedTraversesLightRay(LightRay& lightray) override;
34 
35 #ifdef COCOA_VIS
36  virtual void fillIguana();
37 #endif
38  void constructSolidShape() override;
39 
40 private:
41  //---------- Calculate the centre points and normal std::vector of each of the four pentaprism faces the light ray may touch
42  void calculateFaces(ALIbool isDetailed);
43 
44  //---------- Centre points and normal std::vector of each of the four pentaprism faces the light ray may touch
45  CLHEP::Hep3Vector faceP[5];
46  CLHEP::Hep3Vector faceV[5];
47 };
48 
49 #endif
ALIbool
bool ALIbool
Definition: CocoaGlobals.h:19
OpticalObject.h
OpticalObject::name
const ALIstring & name() const
Definition: OpticalObject.h:58
ALIstring
std::string ALIstring
Definition: CocoaGlobals.h:9
OpticalObject
Definition: OpticalObject.h:35
OptOOpticalSquare::~OptOOpticalSquare
~OptOOpticalSquare() override
Definition: OptOOpticalSquare.h:24
OptOOpticalSquare::OptOOpticalSquare
OptOOpticalSquare(OpticalObject *parent, const ALIstring &type, const ALIstring &name, const ALIbool copy_data)
Definition: OptOOpticalSquare.h:22
Measurement
Definition: Measurement.h:27
OptOOpticalSquare::detailedDeviatesLightRay
void detailedDeviatesLightRay(LightRay &lightray) override
Definition: OptOOpticalSquare.cc:28
OpticalObject::fillIguana
virtual void fillIguana()
Definition: OpticalObject.h:55
OptOOpticalSquare::calculateFaces
void calculateFaces(ALIbool isDetailed)
Definition: OptOOpticalSquare.cc:146
OptOOpticalSquare::OptOOpticalSquare
OptOOpticalSquare()
Definition: OptOOpticalSquare.h:21
LightRay
Definition: LightRay.h:20
OpticalObject::parent
const OpticalObject * parent() const
Definition: OpticalObject.h:60
OptOOpticalSquare::detailedTraversesLightRay
void detailedTraversesLightRay(LightRay &lightray) override
Definition: OptOOpticalSquare.cc:64
OptOOpticalSquare::fastTraversesLightRay
void fastTraversesLightRay(LightRay &lightray) override
Definition: OptOOpticalSquare.cc:123
type
type
Definition: HCALResponse.h:21
OptOOpticalSquare::fastDeviatesLightRay
void fastDeviatesLightRay(LightRay &lightray) override
Definition: OptOOpticalSquare.cc:81
OptOOpticalSquare::faceP
CLHEP::Hep3Vector faceP[5]
Definition: OptOOpticalSquare.h:45
OptOOpticalSquare::faceV
CLHEP::Hep3Vector faceV[5]
Definition: OptOOpticalSquare.h:46
OptOOpticalSquare::constructSolidShape
void constructSolidShape() override
Definition: OptOOpticalSquare.cc:257
CocoaGlobals.h
OptOOpticalSquare
Definition: OptOOpticalSquare.h:18